home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-07-02 | 65.6 KB | 1,336 lines |
-
- The Imagine Compendium
- (3/15/92)
-
- edited by Sandy Antunes (antunes@astrod.astro.psu.edu)
-
- This collection consists of postings to the imagine mailing list. If
- you wish to join this list, contact Steve Worley, spworley@athena.mit.edu,
- our most excellent moderator.
-
- The posting here represent people's suggestions, advice, and ideas.
- This posting is freely redistributable except that it may not be sold or
- distributed for profit. I have tried to keep citations of the original
- authors with each posting, and have including a list at the end of several
- of the poster's email addresses. However, I have edited many of the postings,
- most notably in taking out chunks of intro header, quoted earlier postings,
- and .sig files. I take responsibility for any muddling of information this
- may cause. Neither I nor the original authors are liable for damages,
- however-- you use this collection at your own risk. :)
-
- If anyone notices an error or an incorrect citation, please email me
- (antunes@astrod.astro.psu.edu) so that I may change this for future versions.
- In general the latest version will be posted to abcfd20.larc.nasa.gov
- (128.155.23.64) in the /incoming/amiga/3d/Imagine directory under the
- name ImagineComp.##x, where ## is the year of that edition and x is the
- version: a,b,c, etc. I will announce when a new version is posted to the
- imagine mailing list. I do not expect to update this terribly frequenty,
- perhaps every few months.
-
- Partial List of Quoted Contributors (Please send me corrections!)
-
- Doug Bischoff , TRI (deb110@psuvm.psu.edu)
- David Coughran (drc@koko.csustan.edu)
- Mike Halvorsen
- Glenn Lewis (glewis%pcocd2.intel.com@Relay.CS.Net)
- Stephen Menzies (S.Menzies@CAM.ORG)
- Richard Nollman
- Helge Egelund Rasmussen (her@compel.dk)
- Dave Schreiber
- Udo Schuermann (walrus@wam.umd.edu)
- Sean Schur, California Institute for the Arts (schur@isi.edu)
- Scott Sutherland (sutherla@qtp.ufl.edu)
- Mark Thompson, Radiant Image Productions (mark@westford.ccur.com)
- Steve Worley (spworley@athena.mit.edu)
- Kevin (pawn@wpi.wpi.edu)
- (davis@soomee@rust.enet.dec.com)
- (denbeste@ursa-major.spdcc.com)
- (echadex@carl.org) Colorado Alliance of Research Libraries
-
- ======================== INDEX ==========================================
-
- I. Anti-Aliasing (and the dreaded jaggies)
- II. Attribute Fixes (avoiding weird effects)
- III. Attributes List (including 2 different glass)
- IV. Attributes, Source for (text reference books)
- V. Brush Wraps I (wrapping to a flat plane)
- VI. Brush Wraps II (the 3 basic kinds of wraps)
- VII. Brush Wraps III (wrapping to a Coke can)
- VIII. Brush Wraps IV (axis placement and wrapping modes)
- IX. Bump Mapping I (bump mapping IS altitude mapping)
- X. Bump Mapping II (vs. displacement mapping)
- XI. Bump Mapping III (still vs. displacement mapping)
- XII. Camera Focal Length (and how to change it)
- XIII. Coordinates (finding them, and using TTDDD)
- XIV. Cycle/Detail Groups (loading full objects into cycle editor)
- XV. Glass (the art of glass)
- XVI. Merge (how to use it!)
- XVII. Metals (how to set attributes for them)
- XVIII. Paths (simple advice for extrusions)
- XVIX. Rendering Time (what increases it)
- XX. Resizing Objects (undocumented way to avoid problems)
- XXI. Retracking the Camera (really quickly!)
- XXII. Skin (how to use it!)
- XXIII. Slice (how to use it, too!)
- XXIV. Snapshot I (what it does)
- XXV. Snapshot II (an example and problem solution)
- XXVI. Texture Axis (how to set it up)
- XXVII. World Size (how to change it)
- XXVIII. Worley Project One (a way-cool idea)
- XXVIX. Worley Project Two (a large project with many ideas)
-
-
- -----------------------------------------------------------------------------
-
- ANTI-ALIASING
-
- >Question 3 (last one for now): I noticed the dreaded jaggies on the mirrored
- >ball that fills the screen mentioned above. Is there anything I can do to
- >avoid them? I had thought that closeups on spheres (even in ham resolution)
- >made it easier for the software to compensate for jaggies (more pixels in
- >the curve). Will 24-bit rgb color (Colorburst) seriously reduce the jaggies
- >even in HAM resolution (320x400)?
-
- The .config file for anti-aliasing defaults to 30. This is ok, but not
- great. The best is 0 and final rendering should always be 0. So you must
- edit this file everyso often (before opening Im) or build a front end
- on the work bench (requires programming knowlege, though). Btw , the
- anti-aliasing is EDLE in .config file.
- (Stephen Menzies)
- -----------------------------------------------------------------------------
-
- ATTRIBUTE FIXES
-
- I've noticed areas of discoloration on objects of mine as well. I've found
- that going into the attributes editor and reseting all the unused attributes
- to zero solved my problem (for example, as part of a recent still-life,
- I made a flat box with a wooden texture. The only attributes I set were
- color, dithering, and Texture 1. When I rendered the image, one face of
- the box was purple. I went back and set set the other attributes to zero
- explicity; the box then rendered perfectly). It appears that there is
- a bug in Imagine's `defaults' handling that causes weird things to
- happen if attributes aren't explicity set.
- (Dave Schreiber)
- -----------------------------------------------------------------------------
-
- ATTRIBUTES LIST
-
- Here are some nice attributes: use them as you will:
-
- Black Gloss: (fururistic- looks sleek. Shine & reflect can be boosted.)
- Color 15 15 15
- Reflect 40 40 40
- Filter 0 0 0
- Specular 255 255 255
- Dither 255
- Hardness 200
- Roughness 0
- Shininess 100
-
- Brick (red clay with mortar type) ->very nice.
- C 112 11 5
- R 0 0 0
- F 0 0 0
- S 155 70 31
- D 255
- R 118
- Sh 0
- Brick Texture:
- Size 24 14 5
- Mortar: 1.1
- Xshift 12 12
- Zshift 2.5
- mortar color 60 60 60
-
- Chrome (mediocre quality, needs tweeking)
- C 60 60 80
- R 240 240 255
- F 0 0 0
- Sp 240 240 255
- Dith 48
- hard 247
- rough 0
- shine 177
-
- Glass (beautiful! has just the right tint)
- C 31 28 86
- R 45 45 65
- F 235 235 255
- Sp 255 255 255
- Dith 48 ?
- hard 230
- Rough 0
- Shine 0 <=- CRITICAL
- Index of Refr 1.50
-
- Sandstone (great color, surface. Bands from wood texture can be played with)
- Color 152 94 70
- R 0 0 0
- F 0 0 0
- Sp 197 76 74
- dith 255
- hard 43
- rough 125
- shine 0
- texture: wood
- colr 118 50 30
- ring sp 10
- expon 7
- variat .97
- random seed (pick!)
-
- Battleship grey paint (neutral. OK.)
- color 104 104 104
- Ref 30 30 30
- F 0 0 0
- Sp 130 130 170
- dith 255
- hard 162
- rough 10
- shine 30
- (Steve Worley)
- -----------------------------------------------------------------------------
-
- Glass II
-
- No problem. For a colorless clear glass, try somethingh like this:
- Color: 230, 230, 240 (only a slight blue tint)
- Diffuse: 70%
- Specular: 100%
- Highlight Size: High
- Color Highlight: Off
- Transparency: 95%
- Reflectivity: 30% (optional if you have an image or background to reflect)
- Edges: Opaque
- Smoothing: On
- By making the surface nearly completely transparent but making the edges
- opaque, it gives the appearance of a glass object rather than an object
- that is just fading out. Also note that when creating glass objects, you
- must pay attention to interior polygons that might otherwise not be
- rendered because of back-face culling. For example, if you create a glass
- sphere, you must create it with 2 sided polygons so that the back of the
- sphere is visible through the transparent front.
- Hope this helps.
- (Mark Thompson)
- -----------------------------------------------------------------------------
-
- ATTIBUTES (SOURCES FOR)
-
- To truly mimic materials such as the ones you mentioned requires calculations
- and parameters that most renderers do not take into account due to both
- user complexity and computational expense. For a really good discussion
- on this topic including a survey of common rendering equations and a possible
- solution see the November 1990 IEEE Computer Graphics & Applications article
- "A Realistic Lighting Model for Computer Animators" by Paul Strauss.
- However, Imagine does have have enough available parameters to do a fair
- job. "Illumination and Color in Computer Generated Imagery" by Roy Hall is
- an excellent book for describing the problem of realistic surface rendering
- and has a number of tables, plots, and guidlines for rendering various
- materials. In Hall's book, he references Purdue University (1970)
- "Thermophysical Properties of Matter", Thermophysical Properties Research
- Center, for the various spectral curves and data for a multitude of
- materials. Another possibility would be to check the book written for
- Turbo Silver users (I think its by Victor Osaka but I'm not sure) but
- I don't know if it covers this topic. Finally, a good rule of thumb for
- metals is to keep the spectral and reflected colors close to the surface
- color, don't overdo the reflectivity, and use a moderate hardness.
- (mark thompson)
- -----------------------------------------------------------------------------
-
- BRUSH WRAPS I
-
- I had similar problems wrapping brushes on to flat planes until I
- discovered something that the manual isn't too clear on. Try the
- following example yourself to illustrate the (serious) caveats of brush
- mapping (example assumes default function key mapping):
-
- In the detail editor:
-
- Select Add/Primative/Plane, and except the default plane configuration.
-
- Select it with [F1], and edit its attributes with [F7].
-
- Select [] Brush 1, and an appropriate IFF from the requester.
-
- When the Axis editing requester appears, select "Edit Axis".
- A yellow square appears in the "Front View", and a line in the other two
- views.
-
- Press [M] to move the axis, and drag it (in the Front View) so the center
- point is just outside of the lower left hand corner. The "Front" display
- will now look something like:
-
- z
- ---------
- | : |
- | : |
- | .===|x
- --|-- |
- | | | |
- | .==-----|
- | |
- -----
-
- Where the smaller square is the yellow brush axis. Note also that in
- the top view, the two X axes are directly on top of each other (you may
- have to be zoomed in before you begin to see this). Here lies the first
- problem. Apparently, in order for Imagine to wrap the brush correctly
- on to a surface, the brush axis must be offset slightly to one side or the
- other. Before we do that, SCALE the brush with the "S" command so that
- the top right quadrent (the positive axes) encompass the entire plane.
- Now go to the top window and MOVE the yellow x-axis to at least 1 pixel
- below the orange axis. You'll note that it also moves one pixel in
- front of the orange axis in the right view. It is important that you
- remember which face is the "front" of your plane. In my test renderings
- you see a blotchy-patchy IFF from the other side. You will see this
- same problem on both sides if you let the X axes sit on top of each other.
-
- With all of that completed, press the space bar to return to the
- requester, and select [OKAY] to return to the Attributes requester. To
- get the best image, turn "Dithering" way down (I usually set it to
- zero), and select [OKAY]. Save your object, and move to the stage editor.
-
- At this point, the only thing you have to remember is which was the
- "front" of your object, and make sure the camera is pointing at it.
-
- For other objects, just remember that the positive portion of the brush
- axes is the part that contains the image. It is this top right quadrant
- (from the Front view) that must be enlarged and centered on the object.
- (????- Mike Halvorsen?)
- -----------------------------------------------------------------------------
-
- BRUSH WRAPS II
-
- First off there are three basic kinds of wraps and they all have to do with
- the axis of the brush itself. These types are:
- Wrap X and Wrap Z, Wrap Z Flat X and Flat X Flat Z. You may notice that It
- seems that I have left Flat Z Wrap X out, I hardly ever use this type because
- I can do the same thing with Wrap Z aand Flat X.
- The brush that is loaded when you tell it to assign a brush to an object is
- brought in at the center of the axis. IT is mapped in from the center and
- moves outward in the positive direction of the Z and X axis. The Z is the
- vertical of the picture and the X is the Horizontal of the picture.
- The simplest wrap that you can do is the Flat X and Z. It truly is the
- easiest of them all.
- Assume for a moment that you want to put a picture on a flat object, this
- object could have depth to it or it could be a single pixel in depth, it
- makes no real difference.
- You assign the brush ( IFF picture) that you want in attributes reqeuster,
- then go to edit axis. The frist this that you want to do is move the
- axis of the brush to the lower left corner of the object. This assumes that
- the object is a simple flat object that is oriented as the axis is, by this I
- mean that it looks like a wall in the front view as opposed to lying down
- like a plate on a table. The Z axis of your brush should run right up the
- left side of the falt object and the X axis should be just below (two or
- three pixels.) the flat object. Now you must scale the Z and the X axis to
- be slightly larger than the object itself. If you had a square that was
- 100 by 100 units then the brush axis might be 105 by 105. In this manner
- you can be sure that when you palce the brush axis at the lower left hand
- corner of the flat object that it will cover it like a blanket. All of this
- can be done from the front view. When you scale an axis in Imagine you must
- be in the LOCAL mode not WORLD mode. Repeat,,,,, LOCAL, get to this mode
- after you choose, scale and then choose local. Only the aixs will grow when
- you do the scale and the bounding box will just hang out and look stupid.
- >From the right view you must move the axis negative in Y, just a couple of
- pixels. THis moves the brush off the face of the object so that it dosen't
- get stuck on the objects face plane and look just horrible.
- In Turbo Silver you never had to worry about the size of the Y axis. In
- Imagine you DO. The Y axis defines the depth of the brush or map. If you
- want to make a decal on something that has more than one side or depth, say
- the side of a truck. You want to put your companies logo there, but you
- only want it on one side. No problem, position the brush axis where you
- want it to appear and then decrease the size of the Y axis to be smaller than
- the depth of your object. It will appear on one side of the object and not
- the other.
- This is also where it seems that many folks are getting all horsed up when
- they try to make what I call, World and Can wraps using the wrap Z option.
- To make a world wrap (make a sphere look like earth from outer sapce) you
- first need a good map image. (even if you have a bad image the same applies)
- With the brush assigned to your object move the axis to a couple of pixels
- below the sphere, scale the Z axis in LOCAL mode to be just a bit larger
- than the sphere itself. From the fron view it should look like a line from
- the bottom of the sphere to the top right in the middle of the sphere. OK
- now scale the X axis to be from it present location just slightly larger than
- half of the sphere. It should be a couple of pixels larger than the radius of
- the sphere. NOW Pay attention my friends. If the Y axis is larger than the
- sphere what do you think will happen ? Of course, you just learned that the
- Y axis has DEPTH and if you make it larger than the sphere it is going to do
- something that you won't be able to see. It is going to wrap the image at the
- end of the Y axis and if the axis is larger than the object, it is going to
- put the picture wrap outside of the object, in no wrap land. To make this
- go away all you have to do is make the Y axis smaller than the object. I
- just make the axis 1 or 2 untis in size and forget about it. Make sure that
- you choose Wrap Z Flat X or Wrap Z Wrap X. YOu can decide which you like
- better for planets and other heavenly bodies.
- The last kind of wrap is the CAN wrap as I call it. You know where you want
- to wrap the coke logo around a tube or can like object. Do the same thing for
- the CAN wrap as you did for the sphere or global wrap. Position the brush
- axis in the same place and make sure that the size of all the axis are the
- same as in the sphere wrap. The only real difference here is to make sure
- that you only choose Wrap Z Flat X, all other wraps will look real spooky.
- See now that wasnt so bad was it. I hope this will help you in your
- journeys through your own imagination. The best answer to all questions
- that pertain to Imagine is ...... EXPERIMENT, EXPERIMENT and do it again.
- Like you I have learned the same way that you are now learning. I tried
- and tried and then did it again. I dont think much about it anymore cause
- I have found what I like. You need to do the same.
- Have Fun and ENJOY
- (Mike Halvorsen)
- -----------------------------------------------------------------------------
-
- BRUSH WRAPS III
-
- Reading of the trials and travails some of you are having with wrapping
- labels on Coke cans, I decided to try it for the hell of it.
-
- Anyway, I didn't have any Coke label IFF's so I used a Sports Illustrated
- swimsuit IFF I had lying around - and got it working.
-
- After I post this, I'll be uploading an archive containing a working wrap
- that you can look at. One thing I found counter-intuitive:
-
- If the tube is one from the "primitive" menu, then it is symmetrical by
- rotation around Z. In that case, the proper settings are:
-
- Flat X
- Wrap Z
-
- The size of the brush is also somewhat counterintuitive:Given these settings,
- the X size of the brush doesn't matter: The IFF is stretched to meet on the
- back of the tube no matter what the brush X size is.(Except that for
- reasons I don't quite understand, sometimes when I set it big the brush
- went away entirely. So I didn't change it from its default size.)
-
- However, the Z size is extremely important, as you'll see if you examine my
- object.
- (denbeste@ursa-major.spdcc.com)
- -----------------------------------------------------------------------------
-
- BRUSH WRAPS IV
-
- While I do NOT profess to be an expert on brush wrapping, let me
- tell you what I can from 1) experience and 2) and article by Leo Schwab
- in an old issue of .info (I'll look up the issue and page number if anyone
- wants, but I THINK that it is the first or second PURELY AMIGA issue).
-
- The axis placement for Flat X, Flat Z is CORRECT. However, the axis placement
- you used for the other three is what is causing the problem. Think of it
- like this. Imagine (no pun intended ;^) a soda can which is cylindrically
- symmetric about the Z axis (standing upright in the FRONT view of Imagine).
- You want to wrap a Label about it. To do this you want to take advantage of
- the cylindrical symmetry. Below I will also draw spheres for comparison with
- the original posted question.
-
- CAN: Flat X, Wrap Z
- Z
- --|--
- | | |
- | | | Front View
- | | |
- | | |
- | | |
- ---|---
- -----X
-
- Y
- |
- -
- ( |_)__X Top View
- -
-
- CAN: Wrap X, Flat Z (Note: not appropriate for putting a label on a can):
-
- Z
- | -----
- || |
- || | Front View
- |________X
- | |
- | |
- | |
- -------
-
- Y
- |
- | -
- |(---)-X Top View
- -
-
- For spheres it is basically the same:
-
- SPHERE: Flat X, Wrap Z:
-
- Z
- |
- -
- ( | )
- _
- +-----X
-
- Y
- |
- -
- ( |_)__X
- -
-
- I'll leave out Wrap Z, Flat X for spheres. PLEASE NOTE THE FOLLOWING. Some
- of the above diagrams are misleading because of limitations in ASCII graphics
- representations. One, the Bottom of the Z axis in the FRONT view of both
- examples of Flat X, Wrap Z should be JUST below the object's lower extent (Z).
- Secondly, the Top of the Z axis in these two views should be JUST above
- the top if the object's upper extent (Z). The X axis in these two examples
- should extend JUST beyond the outer X dimension of the object (although
- I've heard differing opinions on this point). FINALLY, as you may have seen
- here before, the Y-axis dimension (see TOP View) in Imagine HAS an effect
- on the wrapping process (apparently not true in Turbo Silver). Set the Y
- axis length to 1-2 units just to be safe.
-
- Definitely Check out Leo's article. It IS for Turbo Silver, but the images
- he shows are FANTASTIC as conceptual aids for understanding what these wrapping
- modes do. I reproduced all of the images in both TS and Imagine.
- As for Wrap X, Wrap Z, I do NOT know why this was included in the software,
- as I have found NO use for it. Leo was just as baffled. Any comments???
- Hope this helps. Let me know if you need the .INFO issue number.
- Scott Sutherland
- -----------------------------------------------------------------------------
-
- BUMP MAPPING
-
- It appears that there is some confusion about Bump mapping and Altitude
- mapping. Let's see if this clears it up:
- Imagine's "Altitude Map" *IS* bump mapping. It involves using
- an IFF picture to specify at which locations the surface normals are
- altered. This does not create an actual pitted surface, or actual 3D
- alterations, but it does create a good illusion of these. It works
- best on very small alterations, such as the pits in an orange peel.
- Don't expect good results with it, trying "stamp" your big initials
- into an object, and don't even try to grow "spikes" out of the object
- using this technique.
- As Altitude Maps (Bump Maps) use your own IFF creations, there is none
- of the uncontrolled randomness that you get with Roughness. They do
- not require any "additional polygon detail," either.
- (Udo Schuermann)
- -----------------------------------------------------------------------------
-
- BUMP MAPPING II
-
- All bump mapping, no matter what system you are on (Amiga or Silicon
- Graphics) is only the -appearance- of bumps on a surface. There is
- something new, that
- only the very high end systems have at this point, called "displacement
- mapping". This takes the same signals as bump mapping to do it's work.
- i.e. you are mapping an image onto a surface and it knows what is high
- or low by the luminance values of the image. The difference is that with
- displacement mapping the image you are mapping literally is pulled out and
- pushed into the surface of the object. If you are mapping a rose onto
- an object (this is one I have seen done), you can turn the object side-
- ways and see the various hills and valleys of the rose. With bump mapping,
- if you turn the object sideways you still see a smooth surface, even
- though from the front it "appears" to have depth.
- (Sean Schur)
- -----------------------------------------------------------------------------
-
- BUMP MAPPING III
-
- > >Bump mapping = preturb surface normals
- > >Displacement mapping = preturb surface polygon vertices
- > Could you explain to me what the difference between these two
- > is?? To my untrained ear (and graduate school-fried brain) these sound
- > similar if not the same.
- > Scott Sutherland
-
- No problem. First of all, the lighting/shading of surfaces of a 3D polygon
- based object is based upon the surface normals of each polygon and their
- angle to the light source(s) and the observer. These surface normals are
- computed based on each polygon's vertices. The idea behind bump mapping is
- to modify these computed normals based on either some image or procedural
- function (ripples, noise, dots, etc.). The net effect is that the shading
- of the object gets the bumpy appearance without being bumpy. This is most
- effective when using a shading model (like Phong) that interpolates the
- normals across the surface of each polygon based on the adjoining polygons
- in the object. In this case, every pixel has its own associated suface
- normal which can be modified by the mapping function.
-
- Displacement mapping on the other hand physically modifies the actual
- vertices of the polygons. The mapping technique is the same, but what is
- being modified is different. The displaced vertices will then yield
- displaced surface normals which will look bumpy when the shading model
- is applied. So in this case not only does the surface look bumpy, it is
- bumpy. So if you ignore the coloration/shading and look at a sillohette,
- a bump mapped sphere is smooth and round, but a displacement mapped sphere
- will be nobby and irregular based apon the function or image used.
- The advantages are obvious especially if you want to simulate an uneven
- terrain on a flat plain. The disadvantage is that displacements can only
- occur at polygon vertices, so if you want to increase the detail in your
- bumps, you must also increase the number of vertices (polygons) in the
- surface. Since bump mapping works with the normals and not the vertices,
- a complex bump function can be created on a single polygon. Just in case
- I've confused anyone, here a picture to really mess ya up.
-
- ^ ^ ^ ^ ^ ^
- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ Surface nornals
- ____
- _____.| |.____ _____.______.____ Actual polygon surface
-
- Displacement mapping Bump mapping
-
- Something else of note, I don't believe there are any existing algorithms
- for implementing displacement mapping in a scanline based renderer
- (only ray-tracers). The same is true of fur and other 'hypertextures' which
- require similar types of rendering methods.
-
- Hope I managed to make this all lucid enough.
- (Mark Thompson)
- -----------------------------------------------------------------------------
-
- CAMERA FOCAL LENGTH
-
- I discovered (it was in the documentation clearly presented)
- that I could change the focal length of the camera by changing the size
- attribute in the Action Script for the camera. The X/Y ratio controls the
- focal length of the camera. A larger X value creates a wide-angle effect
- while a larger Y value creates a telephoto effect. I was impressed.
- I was wondering if the Z value has any effect on the camera lens. I tried
- several different settings with no discernable change. Any comments?
- I tried to change the focal length for a specific range of frames
- within an animation, but every time I set new values for X and Y, the
- values changed for all the frames. I tried breaking the ranges up by
- breaking up the time line into sets of frames (1-10; 11-20; 21-30).
- No dice. Has anyone been successful in using different focal lengths
- in the same script?
- Finally, I discovered something that surprised me. I had been under
- the impression that if the camera is outside the world (beyond 8000 on
- any axis) that the scene would not render correctly. I had some
- instances in my first renderings of the screen being black (dark
- gray). An experienced Imagine user told me that my problem was that
- my camera was outside the world and when it sent a ray out, it looked
- for the end of the world. Since it was already outside the world to
- begin with, all rays were recorded as blank (null). I scaled down my
- scene and located my camera inside the world and the scene rendered
- fine (my first successful rendering). A few days ago I discovered
- that placing my camera and lights outside the world rendered fine. Has
- anyone had experience with the camera placed outside the 8000x8000x8000
- limit of the world?
- (Richard Nollman)
- -----------------------------------------------------------------------------
-
- COORDINATES
-
- Doug> First and foremost.... how can one get the coordinates out of
- Doug> Imagine for the points without going to each one and writing down
- Doug> the coordinates?
- Piece of cake. Get TTDDD.zoo from ab20.larc.nasa.gov (I think
- it is in the incoming/amiga directory).
- Type: "ReadTDDD Enterprise.object > Enterprise.ttddd"
- Now take a look at "Enterprise.ttddd", and it's got all the
- information you need, I believe. Scott mentions some commercial package
- that does the same thing. TTDDD, like Scott's, works on Turbo Silver
- objects, but it can read Imagine objects, and will simply skip the IFF
- "chunks" that it doesn't understand (and will tell you what ones they
- are). Whenever I get the Imagine IFF format specification, I plan on
- upgrading the TTDDD package.
- Disclaimer: TTDDD is ShareWare, written by myself.
- (Glenn Lewis)
- -----------------------------------------------------------------------------
-
- CYCLE/DETAIL GROUPS
-
- It is possible to circumvent all the problems connected with the proper
- setup of a new cycle editor object; this is done by creating the full object
- in the detail editor, and then load this object into the cycle editor.
- If the object is a grouped object consisting of subobjects, each subobject
- will be assigned to its own segment.
- It is much more easy to place the subobjects at the correct positions in
- the detail editor. When you load the object into the cycle editor,
- the only editing commands that you'll need to use is 'pivot' and 'twist'.
- The move command will only be used to move the full object.
- Here is some 'hints':
- - You should NOT group alle the objects together in one go. Instead you must
- group the objects together in a lot of steps. Here is an example:
- You want to create part of a human object consisting of the following
- objects:
- a hand,
- a arm,
- a shoulder,
- a body
- After placing the objects at the correct locations in the detail editor
- you should create the following groupings:
- Group the arm to the hand (arm is the 'parent' object)
- Group the shoulder to the arm (shoulder is the 'parent' object)
- Group the body to the shoulder.
- If the shoulder is part of the body object, you should use an axis as the
- shoulder. Otherwise the arm would pivot around the body!
- - Be sure to place the object so that it is facing in the positive Y
- direction.
- The stage editor expects this direction, and if you want the object to
- follow a path, then the object WILL move in the positive y direction.
- - Place the axis for a object where you want a sub-object to connect
- to the object. This is necessary as the sub-object will turn around
- the axis of the object.
- Example, you want to connect a foot to a leg and then to a body:
- Be sure to be in 'pick group' mode.
- Place the axis of the foot in the toes.
- Place the axis of the leg at the bottom of it (you want the foot to
- turn about this point).
- Place the foot and the leg at the correct positions.
- Press the shift key, select the leg, select the foot and group the
- objects.
- Place the axis of the body at the lower part of the body (you want the
- leg to turn about this point).
- Press the shift key, select the body, select the leg and group the
- objects.
- Now save the object. This object can be loaded into the cycle object.
- - Remember that it is the 'top' object of the group that will follow a path
- in the stage editor. Because of this, you can't move the 'top' object
- relative to the path, so it would be a stupid idea to use a real object
- as the 'top' object: The solution is to create an axis and group the
- final object to this before you save it.
- Example:
- When you make an object walk, the body is the fixpoint, and the legs
- move.
- However, if you want the man object to bend over, it is the legs that are
- the fixpoint, and the body that move.
- (Helge Egelund Rasmussen)
- -----------------------------------------------------------------------------
-
- GLASS
-
- The Art Of Glass.
-
- Glass is perhaps the hardest look to perfect. It is obviously a worthwhile
- attribute to use, but it is tricky to get it just right.
-
- The first obstacle is just to get it working. The MOST common complaint
- is "I can't make ANYTHING transparent". The reason is a bug in Imagine.
- ANY shininess in an objects attributes shuts down transparency. You
- have to use 0 shiniess. Not a small amount, zero. Only then can you get
- it to function.
-
- Transparency is controlled by the filter attribute.The higher the attributes,
- th more light of that color gets though. In this way, the name "filter" is
- a bad choice in my opinion- to filter light completely, you select 0 0 0.
- Good transparency needs a good amount of amplitude. Subtle amouts just do not
- show up. For a transparent object, 200 is the smallest I use, but you
- can experiment. Objects that you can see clearly through I usually pump
- up to 240-255. Also, glass has a SLIGHT bluish tinge, so I use
- RGB= 250,250,255. Cherry Jello might be 240, 140, 140.
-
- Glass is a real light reflector- It has very bright, tight highlights.
- I crank specular up to 255,255,255, and hardness up to 255. Having soft
- higlights looks wrong and also blocks out some of the image coming though.
-
- If you want to use glass, don't forget the index of refraction. The
- index of refraction tells how much light bends when it moves from one
- media to another. The larger the index, the more the bend at the
- intesection. A value of 1.0 makes no bend, and is like air. A value of
- 2.9 will bend light so far that it's almost unreal. A list of refractive
- indeces-
-
- Air 1.02
- Ice 1.309
- Alchohol 1.329
- Water 1.333
- Glass 1.50
- Quartz & salt 1.644
- Diamond 2.417
-
- Remember, setting a sofa to being transparent with an index of refraction of
- 1.309 will NOT make everyone say "Wow! Its made of ice!" The other attributes
- are just as important in giving transparent objects character.
-
- Also, with the index of refraction too high, light coming though will be so
- bent there will be no image recognizable. Especially for objects that are
- large or complex, a lower index of refraction looks better (and traces
- faster!) Anything that is transparent becomes a lens, and a sofa is a
- crummy optical instrument. For a transparent sphere, I had to lower the
- index to 1.08 to make objects on the other side recognizable.
-
- Roughness and altitude maps are particularly effective with transparent
- objects. The direction light bends depends on the surface orientation at the
- spot it enters and nothing else. Thus, a rough or altituded (?) surface adds
- a lot of effect to the transparent light. Think of a fresh ice cube- you
- see a lot of light though it, but the frost on the outside makes it hard
- to look at anything THROUGH it. If the frost melts, the outside surface is
- smooth, and you can see though the ice pretty easily.
-
- I prefer using a
- random altitude map made by using the airbrush in DPaint III than using the
- rougness attribute. The reason has to do with roughness being a random
- surface direction change (like it should be), but its not consistant from
- frame to frame of an anim- it looks like there's lots of bugs crawling on
- it, to steal Scott's complaint.
-
- The surface direction is very important to the character or transmitted
- light, so Phong shading is very important as well. Phong shading smooths
- objects made of polygons into a smooth(er) surface, as opposed to having
- faceted sides like a cut jewel. Phong shading is used for determining the
- direction light bends, so (just like roughness) it will make the character
- of your object change.
-
- A note- If you have any of the objects I put on ab20.larc.nasa.gov, some
- objects are NOT phong-shadable. This has to to with them having duplicate
- points and edges so Imagine doesn't realize the faces are adjoining. To fix
- this, use an undocumented feature in the detail editor, called "Merge" to
- merge the dupicate points, then you should be fine. The objects in the
- first two files on ab20 are all this way- the files 3-5 I think I caught
- most of them and already merged them.
-
- The color that you set glass determines the shade Imagine will give to
- non-perfect glass- ie glass without transparency set at 255 255 255. Black
- ( 0 0 0 ) works well, since then the color doesn't cover up the image.
- You can experiment, though.
-
- One last important attribute of glass is reflection. Glass reflects
- light a little bit, so should be slightly reflective. Too reflective,
- and the transmitted image gets overpowered. Think of a window- you see
- though it quite clearly without seeing much reflection. At night, when
- there is little light coming though, you can see the mirror-like qualities
- of the glass. Transparency should almost always dominate. Good value
- for reflection are in the range 30-60, and again, I use a SLIGHT blue tint.
-
- A fun, advanced topic is lenses. You can make them, and they'll actually
- work! To make a simple lens, make a primative sphere of a pretty hefty # of
- slices and sections (like double the default). Go to "select points"
- mode, and use the dragbox to select all but the top 20% of the sphere.
- Delete these points. Move the axis to the very bottom of the half-lens
- using M (shift-M). Make sure that the axis' Z location is as close to the
- Z locaton of the bottom ring of points as you can (important!) Then select
- the object, COPY it, PASTE it. There are now 2 identical half-lenses on
- top of each other. Select one, then use Transformations to scale it
- x=1.0 y=1.0 z=-1.00 mirror reverse it. If your axis is placed right, you'll
- have both half lenses sharing the center (previously bottom) row of points.
- Select both halves, then JOIN them into a single object, then MERGE them
- to get rid of the duplicate points in the center. Set the attributes to
- glass, and Voila! a lens! It works! This is a converging (magnifying)
- lens, and you can try a diverging lens, though I haven't, yet. The
- lens will also take much larger indexes of refraction without munging
- the image, unlike the sofa. Quick rules- object far away, you'll see
- it upside-down. Too close, it will be really big and out of focus. At
- the focal length, it will be in focus and magnified. Focal length
- is proportional to R (of the sphere) and the index of refraction. Kinda
- advanced, but lotsa fun.
-
- Steve's cool transparent ball-
-
- Color =0 0 0
- Transp= 250 250 255
- Reflec= 49 49 53
- Specular= 150 150 150
- hardness= 255 255 255
- rough=0
- shininess=0 (CRITICAL)
- Index=1.08
- (Steve Worley)
- -----------------------------------------------------------------------------
-
- MERGE
-
- A completely undocumented feature of Imagine! Its called "merge".
- I am pretty sure of what it does. Its in the Detail editor, directly below
- "join". What it does is takes the selected object, and optimizes it by
- removing duplicate points, lines, and faces. Some objects have a LOT.
- If you are using any of those objects I uploaded to ab20.larc.nasa.gov,
- USE THIS FEATURE. These objects are riddled with duplicate points- They
- look fine, but will save much smaller and (most importantly!) will redraw
- almost twice as fast when you move or zoom in any of the editors.
- Joining seems like it would improve Phong shading- I'll have to check.
- Another place where you might want to use this feature is after any
- "join", since a lot of edges and points might line up, especially if
- you're joining a front and back face to an extrusion.
- (steve worley)
- -----------------------------------------------------------------------------
-
- METALS:
-
- It seems that after all this time the message on how to make Chrome, Gold
- Silver, Brass and other attributes that have a real world quality, has gone
- either unoticed or we have done a poor job of telling you how.
- So here is a quick quide. In no way should you use these numbers to be
- a holy grail, they are just numbers that I use and find that they meet my
- needs.
- First things First. These attributes of Gold or Silver (chrome) and other
- shiny metalics have almost more to do with the environment that they are in
- than the color or refelction of the object. Try to imagine yourself in the
- real world and understand that gold and chrome are most noticeable when they
- are shown in an environment of Bright sun with lots of colors and other
- items to help the attributes in a sense take hold.
- For GOLD.
- I make the object color Red 205, Green 205 and Blue 80.
- Refelctive settings are Red 180, Green 160 and Blue 125
- I use hardness at 255 and specular 255 on all guns Red Green and Blue.
- If you add a intersting dithered Global brush to the Globals in the
- Action editor the effect is even better.
- Now the enviroment of tthat Gold likes seems to be the use of pastel or
- lighter colors for Horizon and Zenith colors.
- It is best to try several objects in a scene with different attribute numbers
- you will then get a much better feel for what YOU like. The one problem
- with Attributes is that you must decide for yourself what is GOLD or SILVER.
- One mans Gold is another mans (or womans) Brass.
- Chrome is almost the same.
- Object color: Red 120, Green 120, Blue 160
- Reflective Red, Green and Blue 140 on each
- Specular 255 all Guns and Hardness 255
- Last but not least, Glass.
- Make the object color Black or Red Green and Blue set to 0.
- Filter 255 on all guns, no reflectivity on any guns and Hardness 255, with
- Specular at 255 on all guns.
- So I hope this helps, or at least gives you some idea of what I use to get
- the effects that many find hard to conqure. Remember I have spent many hours
- trying several sets of attributes to get what I like. Chances are that if
- you do the same you will find yourself with results that you appreciate.
- On to more tracing....
- (by Mike Halvorsen)
-
-
- As I had mentioned before, for metals, it is best to make your specular
- color close to your surface color. 255 on all guns will yield the
- characteristic "plastic look" that standard Phong shading is known for.
- The reflectivity helps but it still doesn't look like metal. For this
- case, specular R = 255, G = 255, B = 160 should yield more realistic
- results. This is based on the actual behavior and physical properties
- of metalic materials.
- (????)
- -----------------------------------------------------------------------------
-
- PATHS
-
- No you can't use the stage editors paths for extrusion. As for your
- problems with extrusions, just make sure that the object to be extruded
- and the extrusion path have distinct names (and don't forget to hit
- RETURN whenever you fill in a requester (the charcters will capitalize
- when you do that)
- (Stephen Menzies)
- -----------------------------------------------------------------------------
-
- RENDERING TIME
-
- The list is long: reflections and refractions increase rendering time
- significantly, anti-aliasing (0 longest)-btw this you must edit in
- the .config file and resolve depth (also in .config file), number
- of polygons, camera position (obliqueness), size of brush maps and
- even the numerical entries of solid textures, resolution, display
- and render modes etc etc. The big ones are refraction, edge level(anti
- aliasing , reflection (along with "depth") and #of polygons. Pretty
- well in that order too. Remember that a higher refraction index is
- longer rendering time also.
- And yes the scale of the object means a LOT. Imagine uses something called
- *Octree* to calculate the scene. I no nothing about it other than the
- larger the scale of the object, the faster it will render.The difference
- can go from *hours* to minutes.So scale your scene big. Select everything
- in the scene (including camera and lights) and scale it interactively.
- Don't worry, this won't disturb your camera view or anything like that.
- (Stephen Menzies)
- ---------------------------------------------------------------------
-
- RESIZING OBJECTS
-
- Mike (last name? from The Portal System) writes:
- >Has anyone else noticed this bug? I took an object, a human skull,
- >and wrapped a brush around it..marble..anyhow I took this object
- >into the stage editor and resized the object to make it smaller than
- >it was when I originally was defining it in the detail editor..when I
- >went to render the scene..there appeared to be a number of *spikes*
- >protruding from the skull..actually looked kinda cool..but not what
- >I had in mind..anyhow I feel the problem is that when you resize an
- >object in the stage editor that the points and faces are contracted..
- >but the axis and any brush or attributes are *not* likewise contracted..
- I encountered something similar (no "spikes" in mine though) on my
- mannequin project. You MUST be careful when you resize objects in the
- STAGE editor. I found that I needed to be in the GLOBAL (not LOCAL) mode
- to get things to work out right. And Mike is correct with respect to the
- TEXTURE attributes. I had the WOOD texture and grain nicely chosen for my
- original object. When I shrunk it by a factor of 100 and rendered it, the
- texture lines were gone. It turns out that all the info that is in the
- EDIT TEXTURE window is unaffected by all of this shrinking or expanding.
- You must change these in the DETAIL Editor. Also, if you are MORPHING one
- object into another, these Details are not affected. What do I mean? I
- morphed a wood object into a black GLOSSY object. As I carefully watched the
- object morph animation, I saw that the BASE color of my tan wood slowly
- changed into black over the 25 frames of my animation. However, the wood
- GRAIN color remained constant. Then the GRAIN just 'popped' out (disappeared
- from one frame to another) from frame 24 to 25. This does make some
- interesting effects, but it was NOT what I wanted.
-
- I did find a work-around for this (don't we seem to spend a lot of time finding
- out how to use UNDOCUMENTED features to work around things the the DOCUMENTED
- features cannot handle ;^))?? ). In the STAGE editor, I moved to FRAME 24 and
- SAVED this object as OBJ.FR24 (or something like this). I loaded it into
- the DETAIL editor and changed the grain color to something more reasonable
- (it went from Dark Brown to black, so I just lowered the intensities on all
- guns to almost black). I then went back to the STAGE editor and did the
- following. I deleted my original morphing object. Then I loaded the starting
- wood object into frame 1. I then loaded my OBM.FR24 into frames 2-24 with a
- transition of 23 (or is it 22? I forget.). Then I loaded my FINAL black
- object into frame 25. Thus, Imagine thinks it is morphing from one wood
- texture to another for 24 frames and then to a solid (non-textured) surface
- in frame 25. From frames 1-24, both the base color AND the grain color
- morph. I suppose that I could have simply KEPT the wood texture on and
- morphed from my original wood texture in frame 1 to a BLACK base color and
- BLACK grain colored wood in frame 25. This would have saved me from using
- 3 different objects for this, but I wanted to remove the wood completely.
- (Scott Sutherland)
- -----------------------------------------------------------------------------
-
- RETRACKING THE CAMERA
-
- In the Stage editor it is possible to re-track the camera to your object
- after moving the camera (or the object I assume, I didn't try it), just
- hit Right Amiga-C and hit return to clear the requestor, and the camera
- is now re-aligned to your object.
- I had been going back to Action and doing the delete-add-track sequence
- on the camera's actor bar.
- (???????????)
- -----------------------------------------------------------------------------
-
- SKIN:
-
- I've used this to create airplane wings, and the like, I start by creating
- the "ribs" of the wing. copy them, size them, etc. until I have the ribs of
- the wing done (much like a balsa wood model of a plane). I then multi select
- all of the ribs, and select SKIN, which does exactly what you would expect.
- (kevin, pawn@wpi.wpi.edu)
- -----------------------------------------------------------------------------
-
- SLICE
-
- Create the object that you want to bore a whole through, or slice.
- A sphere will be fine (primative sphere)
- Create the object to do the cutting with, a cylinder to drill a hole, or a
- plane to do some cutting, for example.
- Place the objects over one another, aligned the may you want the SLICE to
- take affect (did you understand that?)
- Multi Select the two objects (order doesn't seem important) and select SLICE.
- This will leave many new objects, which you can cycle through and delete the
- ones that you do not need, or want. For example, slicing a sphere with a
- plane will leave the bottom half of the sphere, the top half of the sphere,
- a plane with a disc cut out of it, and a disc. (understand where these all
- come from...)
- SLICE can be used to do some very powerful things (BOOLEAN wise...)
- (Kevin, pawn@wpi.wpi.edu
- -----------------------------------------------------------------------------
-
- SNAPSHOT I:
-
- >From the stage editor, assume you have an object that has the effect of
- explode. Goto the last frame of the animation (again, assuming that this
- is a x-frame length animation where explode runs from frame 1 to frame x).
- You will see the object is in pieces according to your description of
- explode. Select the object (eg, place the cross-hairs over the object's
- axis origin and click). Select snapshot. You will then be presented with
- a file requestor for an object file. Type in object's_name.exploded.
- Now go into detail editor and load object's_name.exploded. You will then
- load the "exploded" version of the object.
- (??????????)
- -----------------------------------------------------------------------------
- SNAPSHOT II:
- I do not know about your exact situation with the STAGE editor, but let me
- tell you my encounter with something similar that may help you out. I was
- attempting to MORPH two objects together. I had created one of them using
- the DETAIL editor, saved it, and then used the various tools in the DETAIL
- editor to alter it to its final 'morphed' form. I then went to the STAGE
- editor and loaded object one for one frame. Then I loaded object 2 for
- frames 2-25. I looked at the FIRST and LAST frames and all looked well.
- Then I chose ANIMATE to do a wire-frame preview. What I saw was that, while
- my object morphed, it stretched along the X axis by ~30%. Well, I checked to
- see if the final object was larger than the initial one (loaded them on top of
- one another in the DETAIL editor). They were the SAME 'apparent' size.
- I put apparent in quotes because this WAS my problem. I looked at frame
- 1 of the animation, selected the object, and checked its size. I then
- looked at the final object in frame 25 and checked its size. THEY were the
- SAME. However, when I looked at them in the DETAIL editor, their Y sizes
- were NOT the same. I guess that the size is taken from the axes or something.
- Armed with this knowledge, I went back to the STAGE editor and into the
- ACTION editor. I noticed that my SIZE line for the morphed object was only
- defined for FRAME 1. I selected INFO and the clicked on the object size.
- I altered the FINAL frame number to 25 and tried again. I got the SAME
- result as before (morphing and stretching). Finally, I went to FRAME 25 of
- the morphed object's SIZE line and changed the size to the numbers given to
- me in the DETAIL editor for the final object. THIS SOLVED THE PROBLEM!!!
- Thus, check all initial and final sizes and play around with the object's
- SIZE timeline.
- As for the TRACK axis, I had similar problems. I just deleted my TRACK object
- and reloaded it clicking once on the first frame of the animation and once
- on the last frame to give it a timeline over the entire animation.
- I hope this helps (you and anyone else having problems).
- (Scott Sutherland)
- -----------------------------------------------------------------------------
-
- TEXTURE AXIS
-
- The texture axis is the reference from which the texture algorithm calculates
- its discontinuities. If you place the texture axis at 100,100,100 and are
- using "checks" with cube-size of 40, then on each axis the color changes will
- occur at -20, 20, 60, 100, 140, 180 etc.
-
- If you set up a cube (or a "ground") so that it lays exactly at one of these
- change planes, you'll get what they refer to as "digital bounce" which means
- that the color is indeterminate and it effectively makes a random choice.
- You need to offset the texture axis so that the surfaces of your object do
- not lay on such change planes.
-
- The "brick" texture isn't any more complex conceptually than "checks", it
- just has more of these color planes to watch out for. For example: If your
- "brick" texture is centered at 0,0,0 and has brick size of 40,40,40 and
- mortar size of 10,10,10, then on the X axis there's a color change plane
- at 0, 40, 50, 90, 100, 140, 150 etc.
-
- >With the cube, axis in the exact center, where do I place the axis of the
- >Texture? in the cube? out of the cube?
- Since a texture extends infinitely far in all directions,this doesn't matter.
- What IS important, as stated above, is to place the axis so that none of the
- surfaces of the object lay exactly on any color-change plane.
-
- > Maybe I should move the axis of he cube?
- The axis of the texture is kept relative to the axis of the cube, so moving
- the cube won't cause manifestation of the texture to change.
-
- > How big should I scale the Texture, does this matter at all?!
- You should scale the texture to make the result look the way you want. For
- instance, you need to make sure you don't make it too large, or else your
- cube might end up being one big brick - which is rather pointless. Equally,
- if you make the texture too small, your cube might become a hundred million
- tiny bricks, which is equally pointless.
- (??????????????)
- -----------------------------------------------------------------------------
-
- WORLD SIZE
-
- So THAT's how you change the world size! The size requester in the
- Globals section!!!!! Is this true? I'm gonna play with it, but has
- anytbody else found this?-
- -----------------------------------------------------------------------------
-
- WORLEY PROJECT ONE (Way Cool Image Idea of Steve Worley)
-
- This was way-cool! Try it.
- Get an object. A sphere will do, but whatever you want.
- FLAT map a brush onto it. Make sure the brush Y axis is bigger than the
- object, make sure the object just fits in the positive x positive z quadrant.
- Go to "transform axis" in the brush requestor, select "size", then write down
- the x & z scalings.
- Make a plane. Map the same brush on it. Use transform to get the same size.
- make sure the plane's size is at least as large as the brush.
- Go to the stage editor.
- Put the object DIRECTLY behind the plane. Orientation and position are
- critical- you want the brush maps to line up. [They're the same size.].
- Put the camera on a 45 degree view so you don't have a dead on shot.
- Make a path that moves the object straight THROUGH the plane, for about 20
- frames.
- Animate it!
- Here's what you'll see. You'll see a flat picture slowly take on a three-d
- form, "extruding" exself into a third dimension. The join between plane
- and object is indetectable because the brush maps are identical.
- This effect is REALLY cool, though you have to be careful to line everything
- up right. Use "transform" to set position and orientation of the
- objects and their maps exactly if you're having trouble.
- You can render this in scanline- it doesn't need trace.
- You could make a room with a framed picture (I have a REALLY nice picture
- frame) with a picture of something on it. Camera moves to an oblique view,
- zooms in a little, picture starts "extruding." Maybe out a little, then back,
- then out then back, then finally, the object finally makes it all the way
- out (and the picture behind has a new brush map without the object!). Then
- the released thing (whatever!) could explore the "Real World". An idea. Run
- with it if you like, post how it goes.
- (steve worley, of course!)
- ------------------------------------------------------------------------
-
- WORLEY PROJECT TWO
-
- I've been working on an animation that seems to be coming out
- very nicely- there's a couple of techniques dealing with brushes
- that people might find very useful.
-
- I created a still first. It started as a "mirrored balls on a checkerboard"
- setup, with the centerpiece being a big, black, glossy sphere with
- a picture of me "trapped" inside the sphere. Later I turned it into
- an animation with the camera moving about so that you could see the
- different sides. It looked cool- the real goal was to see how well
- a "traditional" mirror & glass sphere populated plain would look.
-
- It turned out so well that I changed the animation to a still camera
- and having the ball roll around the scene, in front of mirror-balls
- and in back of glass balls to see the neat effects. [Remember the
- long transparency essay I wrote? I was tweaking the crystal spheres
- for this anim.] Making the ball roll was a trick. How do you get
- something to roll (at the right speed!) while following a path? Getting
- it to spin (like a plane doing a barrel roll) is easy- you align to
- path, then set Y rotation to be from 0 to 360 and it will do a complete
- spin. This is not in the right direction for a rolling ball, though.
- [Annoying feature- you can't say from 0 to 720 for two spins,
- or 0 to 3600 for ten.] To get it to roll I created a second path, which
- was basically a larger copy of the first, so the first path was
- just inside of the second path. I had an axis (a track) follow this
- new, outside path, then used "align to object" to make the sphere point
- to the axis. Thus, as the ball moved along its path, one end (the positive
- Y axis direction) was always pointed at right angles to the direction
- of motion. Is this clear? Now using the "initial Y angle" and "final Y
- angle" I set them to 0 and 360 and it rotated as it rolled. As a special
- effect, I raised the "track path" a little in the Z direction so the
- sphere looks a little bit like a top rolling around, since the spin
- axis was not horizontal anymore.
-
- An alternative would be to make a cycle object, rolling around the X axis.
- This is equally valid, but I did it this way first.
-
- The picture of me on the sphere was pretty easy. I used Digi-View
- to take a picture of me with a scared/concerned expression and
- my hands palm forward outstretched a little. I stood in front of a
- clean, white background. I saved the pic as an IFF24 picture from Digi-
- View, and used The Art Department to balance it. Digi-view's balancing
- controls are fine- TAD has a couple of nice features, though, like
- scaling and especially gamma correction, which increases contrast by
- expanding color scales. (I'll explain if someone wants me to.) I saved
- the pic as a 900x600 16 color IFF, then loaded it into Deluxe Paint III.
-
- Deluxe Paint is a wonderful program, and has no objection to loading large
- IFFs. I touched up a couple scanning artifacts with the smooth and blend
- tools, then removed the background. To do this, I first used the filled
- rectangle tool to fill in the big, easy to clear spots of background
- (a wall in my case). I then used the stencil (frisket to you Disney
- folks) to let only the brightest few whites be changable. A pass or two with
- a big brush along the edge of my body, and woosh- the background was gone.
- I then added a new background ( a grid of white lines) by picking my body
- up as a brush and stamping it on a grid I made on the spare page. I saved
- the picture, and I was done!
-
- Imagine does not care what size the picture it maps is- they all get normalized
- to the brush-axis dimension. Thus, my LARGE picture was of significantly
- better quality than just a screenful. Optimally, if I had a 24 bit paint
- program, like the Firecracker paint program, Colorburst's paint program,
- or Toasterpaint, this would have given the highest quality output. Anyone
- want to give me a Colorburst?
-
- Wrapping is an art, and everyone should read Mike Halvorson's brush-wrapping
- posted about 2 weeks ago. Its pretty good, though he mis-describes Y axis
- functionality in wrap-wraps, but not in flat-flats (though maybe I'm wrong).
- Luckily, wrapping spheres is a snap- you can't screw up as long as your brush's
- Y axis is smaller than the radius, and the axis is centered. Complex shapes are
- much more difficult, and best described in another post sometime. [Like after
- I can do them consistantly!]
-
- Anyway, the result mapped onto the sphere looks real cool. The grid wraps
- around the sphere like longitude/latitude lines, and I was smart and made
- my grid match up from one side to the other. This made the join on the back
- of the sphere look UTTERLY undetectable, so it isn't obvious this is a flat
- object wrapped onto a curve.
-
- I rendered this 80 frame anim over about 6 days, (hires raytrace) and
- it was beautiful! The glass in particular looked sleek. I then wanted to
- spiff it up even more, so I added a glass arch (half a stretched torus) for
- the prison-sphere to roll though, and I animated myself on the sphere.
-
- How did I animate myself on the sphere?? This is a VERY useful trick, and
- I learned it long before I had Imagine, when I was into DPaint anims. What I
- did was I took a camera and VIDEOTAPED myself kinda waving my hands around
- like a mime (the invisible wall in front of me, palms outward)
- with the concerned/scared look on my face. After a few takes, I thought I had
- the right feel, so I booted my 3000 [well, sat down in front of it- its
- always on!] and started Digiview.
-
- Time out: IMPORTANT! Digiview DOES work on a 3000- you must use 'CPU
- nocache noburst' before you start Digiview, or it will die! I almost sold
- my DV until I said "hmm. I'll try one more time. What if I .." and it worked.
-
- Anyway, I played the tape and freeze-framed on the start of the part I liked.
- YOU CAN'T USE A CHEESY 2-HEAD VCR! You need good stills. I digitized a frame,
- then spent a good 10 minutes perfecting the balances. [I didn't use TAD because
- it would have been a pain saving all the frames (1/2 meg each!) and loading/
- balancing/saving them again. ADPro has an AREXX interface, and so does
- Digi-view. This would have been an IDEAL application of AREXX!] Once I had
- the balance perfected, I re-digitized, balanced, and saved the picture as
- 'steve001'. The 001 is important- if you save it as 'steve1' it will be
- a bit harder to load into DPAINT. [You'll see!] I then forwarded 3 frames,
- and digitized, and saved as 'steve002'. I did this for 40 frames. Yes, its
- mind-numbing, but really only takes half an hour, and you can be listening
- to tunes or talking on the phone or whatever.
-
- Finally, I started DPaint, and blessed my extra RAM. I went into 'load
- picture', selected file 'steve001' and at the bottom of the name requester,
- entered '40 frames'. Dpaint then loaded the next 40 frames (alphabetically)
- as an anim. See why we have steve001? It loads steve001 to steve0040
- correctly. If I used 'steve1' the order would be steve1,steve10, steve11,
- ... steve19, steve2, steve20 and so on.
-
- OK, I have an anim. I play it, and voila! There I am, looking like a person
- acting like he's trapped in a sphere! :-) The quality of this method is
- SURPRISINGLY good. Try it- even if you don't use Imagine. It's lots of fun!
- 320 by 400 animates faster if you're not doing it for Imagine, but just
- want to muck around. [well worth it!] Here's an idea- tape yourself throwing
- and catching a volleyball, then digitize your best friend. Remove his or her
- head as a brush, then paste a copy of the head on top of the ball in every
- frame of your anim. Voila! Macabre juggling! Works really well if they're
- smiling.
-
- Back to the Imagine anim. I digitized in hi-res for quality- it doesn't
- animate as well in DPaint (more bandwith -> slower anims) but for our
- purposes this makes no difference at all. I cleaned out the background
- for all the frames by using "anim-painting"- holding down the left-amiga
- as you paint. [3000 owners, you might have to change the WB prefs- this
- is the default way to drag screens] By using big brushes for the easy stuff,
- then stencils, a smaller brush, and a much slower pace for the edges near my
- body, I removed the background from all the frames.
-
- I picked up my body as an animbrush, then anim-painted onto a 40 frame anim
- of a stationary grid. I then used "save picture" [NOT anim!] and saved 40
- frames as stevebg.. DPaint is smart, and makes stevebg001, stevebg002,... and
- so on.
-
- Now what? To Imagine! I call up my project, which currently has a static
- brush on the sphere. If I were starting from scratch, I would render the anim
- in HAM scanline to insure the pacement of the brush and feel of the anim.
- Once you animate the brush, it is not a trivial matter to change its position
- on the object you're wrapping.
-
- However, I have already done a static test. I know that my brush is in a good
- position- I'm upright and centered just as I pass the camera- a good shot. I
- then went into the detail editor and loaded sphere.iob [my _I_magine _OB_ject]
- and entered the attributes selector, and select the brush map already there. I
- changed the picture filename in the gadget to say 'stevebg.001' and exited and
- saved the object as sphere001.iob. I then went back to the brush name, changed
- it to 'stevebg002' and saved the sphere as sphere002.iob. Note there is no need
- to RELOAD the sphere- I just save it. This goes by VERY fast once you get
- started, and I had 40 objects in 5 minutes. Also, every sphere has the same
- attributes and same brush position, etc. The only thing to change (the only
- thing TO change) is the name of the brushmap.
-
- To the stage editor! I already had my rolling sphere set up- remember, I
- did a static version before that looked good. I deleted the "actor" that was
- my sphere, keeping the position and alignment that were already there.
- I then added a new actor from frame 1 to frame 1 called sphere001.iob.
- I then added a new actor from frame 2 to frame 2 called sphere002.iob.
- I then added a new actor from frame 3 to frame 3 called sphere003.iob.
- I then added a new actor from frame 4 to frame 4 called sphere004.iob.
- .....
- I then added a new actor from frame 40 to frame 40 called sphere040.iob.
- I then added a new actor from frame 41 to frame 41 called sphere041.iob.
- ....
- and so on. My anim was such that my repetive motion made a pretty clean
- transition from beginning to end [in DPaint] so repeating it looked all
- right. If not, ping-ponging would have worked [instead of 1 2 3 4 1 2 3 4
- 1 ... it goes 1 2 3 4 4 3 2 1 1 2 ...] Also, I made sure the best views
- (by the camera) didn't have a transition, anyway. Entering the 80 objects
- again is boring, but the file requestor is fast enough (and has last file
- defaults!) so it only took 10 minutes. Alternatively, it might have been
- neat to see what morphs would do- this would fade out one frame while bringing
- in the next (I think) and might be worth trying sometime. This would be done
- by changing the object every other frame (or even less often) and setting the
- # of transition frames to 1 or more.
-
- Well, thats it! The ray-traced anim is rendering now- the scanline version
- showed me waving around just fine, and it really looked smooth! I thought
- that people might like to try this technique- its roundabout, but the
- results are worth it!
-
- A note- Animation Journeyman (another renderer) supports animbrushes... must
- be nice, though I haven't seen it.
-
- If anyone wants me to clarify anything I'll be happy to. This little
- essay has grown a bit in length... :-) I won't be able to post the final
- anim, its HUGE!, as is the project itself (40 pictures, > 40 objects..)
- though I might put a still or two on ab20 if people want me to.
-
- Keep on rendering!
- -Steve Worley
- ============================= end of file ===================================
-
-